#ifndef XLCOMM_NET_SELECTPOLLER_H_
#define XLCOMM_NET_SELECTPOLLER_H_

#include <sys/select.h>

#include "xlcomm/net/poller/poller.h"

namespace xlcomm {
namespace net {

// IO多路复用 select子类实现
class SelectPoller : public Poller {
 public:
  SelectPoller(EventLoop* loop);
  ~SelectPoller() override;

  Timestamp Poll(int timeout_ms, ChannelList* active_channels) override;

  void UpdateChannel(Channel* channel) override;

  void RemoveChannel(Channel* channel) override;

 private:
};

}  // namespace net
}  // namespace xlcomm

#endif  // XLCOMM_NET_SELECTPOLLER_H_